1.flask-script 的介绍

  • 生成和自定义命令

2.flask-script 的安装

pip3 install flask-script -i https://pypi.douban.com/simple  # 使用豆瓣的镜像

3.flask-script 的基本使用

  • 添加 runserver 命令

# app.py

from flask import Flask
from flask_script import Manager

app = Flask(__name__)

manager = Manager(app)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
# app.run()
manager.run()

  • 通过命令启动项目 -> 和 Django 类似

python xxx.py runserver -h ip -p 端口

python app.py runserver -h 127.0.0.2 -p 8002

4.自定义命令

  • 按照位置传参

# app.py

from flask import Flask
from flask_script import Manager

app = Flask(__name__)

manager = Manager(app)


# 按照位置传参自定义命令
@manager.command
def aaa(num):
    print(num)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    # app.run()
    manager.run()

python xxx.py 自定义的命令名称 参数

python app.py aaa 123

  • 按照关键字传参

# app.py

from flask import Flask
from flask_script import Manager

app = Flask(__name__)

manager = Manager(app)


# 按照关键字传参自定义命令
@manager.option('-n', '--name', dest='name')
@manager.option('-u', '--url', dest='url')
def bbb(name, url):
    print(name, url)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    # app.run()
    manager.run()

python xxx.py 自定义命令的名称 -简写参数名 参数 -简写参数名 参数

python xxx.py 自定义命令的名称 --参数名 参数 --参数名 参数

python app.py bbb -n Kevin -u www.baidu.com

python app.py bbb --name Kevin --url www.baidu.com